Inversion of Control Principle